; Zadanie 2.3
; Algorytm Staina

; int nwd_stein(int a, int b)

;	a:	esp + 4		
;	b:	esp + 8
;

	global _nwd_stein
	extern _printf
	
	section .data
message1:	db	"Podana liczba jest nieparzysta", 10, 0
message2:	db	"Podana liczba jest parzysta", 10, 0
format:		db	"%d", 10, 0
	
	section .bss
k:	resd	1
a:	resd	1
b:	resd	1

	section .text
	
_nwd_stein:	
	enter 0,0
	push ebx

	xor ecx, ecx
	xor edx, edx
	mov eax, [ebp+8]
	mov ebx, [ebp+12]
	
	; init
	mov dword[a], eax	; zapisz a
	mov dword[b], ebx	; zapisz b
	mov dword[k], 0		; zapisz k
	
	; czy a parzysta
	mov 	ebx, 2
	idiv 	ebx
	cmp 	edx, 1
	je		a_nieparzyste
	
	push 	message2
	call	_printf
	add 	esp,4
	jmp		koniec

a_nieparzyste:
	push 	message1
	call 	_printf
	add 	esp, 4
koniec:
	pop ebx
	leave
	ret
	
	
	